package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoOverallSituation;

import java.util.*;
public class MoOverallSituationExample extends SgExample<MoOverallSituationExample.Criteria> {
    public static final Class<MoOverallSituation> beanClass = MoOverallSituation.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn situationId;
    public static EntityColumn openProgram;
    public static EntityColumn accessToken;
    public static EntityColumn systemMsg;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        situationId = listMap.get("situationId");
        openProgram = listMap.get("openProgram");
        accessToken = listMap.get("accessToken");
        systemMsg = listMap.get("systemMsg");
        }

    public MoOverallSituationExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoOverallSituationExample.Criteria createCriteriaInternal() {
        return new MoOverallSituationExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoOverallSituationExample.Criteria andSituationIdIsNull() {
            return isNull(situationId);
        }

        public MoOverallSituationExample.Criteria andSituationIdIsNotNull() {
            return isNotNull(situationId);
        }

        public MoOverallSituationExample.Criteria andSituationIdEqualTo(Long value) {
            return equalTo(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdNotEqualTo(Long value) {
            return notEqualTo(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdGreaterThan(Long value) {
            return greaterThan(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdLessThan(Long value) {
            return lessThan(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(situationId, value);
        }

        public MoOverallSituationExample.Criteria andSituationIdIn(List<Long> values) {
            return in(situationId, values);
        }

        public MoOverallSituationExample.Criteria andSituationIdNotIn(List<Long> values) {
            return notIn(situationId, values);
        }

        public MoOverallSituationExample.Criteria andSituationIdBetween(Long value1, Long value2) {
            return between(situationId, value1, value2);
        }

        public MoOverallSituationExample.Criteria andSituationIdNotBetween(Long value1, Long value2) {
            return notBetween(situationId, value1, value2);
        }
        public MoOverallSituationExample.Criteria andOpenProgramIsNull() {
            return isNull(openProgram);
        }

        public MoOverallSituationExample.Criteria andOpenProgramIsNotNull() {
            return isNotNull(openProgram);
        }

        public MoOverallSituationExample.Criteria andOpenProgramEqualTo(Boolean value) {
            return equalTo(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramNotEqualTo(Boolean value) {
            return notEqualTo(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramGreaterThan(Boolean value) {
            return greaterThan(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramGreaterThanOrEqualTo(Boolean value) {
            return greaterThanOrEqualTo(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramLessThan(Boolean value) {
            return lessThan(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramLessThanOrEqualTo(Boolean value) {
            return lessThanOrEqualTo(openProgram, value);
        }

        public MoOverallSituationExample.Criteria andOpenProgramIn(List<Boolean> values) {
            return in(openProgram, values);
        }

        public MoOverallSituationExample.Criteria andOpenProgramNotIn(List<Boolean> values) {
            return notIn(openProgram, values);
        }

        public MoOverallSituationExample.Criteria andOpenProgramBetween(Boolean value1, Boolean value2) {
            return between(openProgram, value1, value2);
        }

        public MoOverallSituationExample.Criteria andOpenProgramNotBetween(Boolean value1, Boolean value2) {
            return notBetween(openProgram, value1, value2);
        }
        public MoOverallSituationExample.Criteria andAccessTokenIsNull() {
            return isNull(accessToken);
        }

        public MoOverallSituationExample.Criteria andAccessTokenIsNotNull() {
            return isNotNull(accessToken);
        }

        public MoOverallSituationExample.Criteria andAccessTokenEqualTo(String value) {
            return equalTo(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenNotEqualTo(String value) {
            return notEqualTo(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenGreaterThan(String value) {
            return greaterThan(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenLessThan(String value) {
            return lessThan(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenLike(String value) {
            return like(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenNotLike(String value) {
            return notLike(accessToken, value);
        }

        public MoOverallSituationExample.Criteria andAccessTokenIn(List<String> values) {
            return in(accessToken, values);
        }

        public MoOverallSituationExample.Criteria andAccessTokenNotIn(List<String> values) {
            return notIn(accessToken, values);
        }

        public MoOverallSituationExample.Criteria andAccessTokenBetween(String value1, String value2) {
            return between(accessToken, value1, value2);
        }

        public MoOverallSituationExample.Criteria andAccessTokenNotBetween(String value1, String value2) {
            return notBetween(accessToken, value1, value2);
        }
        public MoOverallSituationExample.Criteria andSystemMsgIsNull() {
            return isNull(systemMsg);
        }

        public MoOverallSituationExample.Criteria andSystemMsgIsNotNull() {
            return isNotNull(systemMsg);
        }

        public MoOverallSituationExample.Criteria andSystemMsgEqualTo(String value) {
            return equalTo(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgNotEqualTo(String value) {
            return notEqualTo(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgGreaterThan(String value) {
            return greaterThan(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgLessThan(String value) {
            return lessThan(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgLike(String value) {
            return like(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgNotLike(String value) {
            return notLike(systemMsg, value);
        }

        public MoOverallSituationExample.Criteria andSystemMsgIn(List<String> values) {
            return in(systemMsg, values);
        }

        public MoOverallSituationExample.Criteria andSystemMsgNotIn(List<String> values) {
            return notIn(systemMsg, values);
        }

        public MoOverallSituationExample.Criteria andSystemMsgBetween(String value1, String value2) {
            return between(systemMsg, value1, value2);
        }

        public MoOverallSituationExample.Criteria andSystemMsgNotBetween(String value1, String value2) {
            return notBetween(systemMsg, value1, value2);
        }
    }
}